1. Field of the Invention
The present invention relates to amplifying and attenuating of digital audio signals and more particularly to logarithmically manipulate pulse code modulation data in order to boost or to attenuate the digital audio signals.
2. Description of the Related Arts
As computers continue to proliferate in our society, the tasks which they are used for as well as the computers themselves become more and more sophisticated. Of course, not everyone has the need or even the desire for the most state of the art computer system. However, in order to appeal to average computer consumers, computers are being designed to incorporate more features but at constantly diminishing prices. Today, computer systems with multimedia capabilities are more the norm than the exception. These multimedia capabilities include connections for sound and video inputs and outputs. Often times, these computer systems will include modems that feature speaker phone and answering machine capabilities.
At first, it may seem that the computer industry is in a no win situation of being required to offer more features at lower prices. But continuing technological advancements in the design and manufacture of electronic components have propelled the computer industry into a realm of sustained growth. Furthermore, new manufacturing practices and circuit designs are constantly being developed that rival existing practices and circuits.
One area of development is the manipulation and control of different forms of audio data by a computer system with sound capabilities. The sound output may be produced from the computer""s own internal speaker or a more elaborate external multi channel speaker system connected to the computer""s audio outputs. Regardless of which speaker system is implemented, users of the computer system expect a linear relationship between movement of a volume control slide bar on the computer display and the perceived volume of the sound output. However, since the human hearing apparatus has an inherently logarithmic response, the digital audio signal must be scaled in a logarithmic manner so as to provide the human ear with a linear sensation of volume variations similar to that experienced from turning a volume knob on a radio or stereo receiver.
Currently, boosting and attenuation of digital audio signals are accomplished by linear multiplier blocks. Given that almost all digital audio signals are encoded in 2""s complement pulse code modulation (PCM) form, high precision multipliers and large lookup tables must be used to manipulate the PCM data in the required logarithmic fashion without losing resolution at the lower end of the scale. The large lookup tables provide entries for the numerous multiplicands that are used to multiply the PCM data. Because the PCM data is scaled in a logarithmic manner, very high precision coefficients are required in order to manipulate the PCM data so that the multimedia enabled computer user""s experience is consistent with that which is already in existence in the world of consumer audio, namely the inear sensation of volume variations.
Therefore, it is desirable to provide an apparatus and methods of operating the same which can reduce the complexity and inefficiency associated with manipulating digital audio signal levels.
The present invention provides an apparatus for controlling audio signals having pulse code modulation (PCM) data and methods of operating the same resulting in an efficient means of amplitude modulation of audio signals. The novel apparatus for controlling audio signals is based on exploiting an inherent logarithmic nature of the PCM encoded data. Thus, according to one aspect of the invention, the apparatus for controlling audio signals comprises a PCM data input register configured to store the PCM data. A shift register is coupled to the PCM data input register configured to serially shift the PCM data. A PCM data output register is coupled to the shift register configured to store modified PCM data. An audio magnitude controller is coupled to the shift register configured to control serial shifting of the shift register to provide the modified PCM data.
According to one aspect of the invention, the shift register bidirectionally shifts the PCM data in response to the audio magnitude controller. The reason for this bidirectional shifting is twofold: 1) most PCM data streams are received in an xe2x80x9cMSB-firstxe2x80x9d (most significant bit first) manner, but in order to utilize an efficient hardware implementation, the present invention chooses to use bit-serial arithmetic which operates in an xe2x80x9cLSB-firstxe2x80x9d (least significant bit first) manner; 2) PCM audio signal encoding process itself maps different amplitude values to different positions within the serial bitstream. By shifting the entire audio xe2x80x9cwordxe2x80x9d in one direction or the other, the present invention effects an amplitude change without modifying the actual PCM-encoded data word itself. Depending on which direction the PCM data is shifted, the audio signal is boosted or attenuated. The shift register shifts the PCM data a single bit left to provide an audio signal boost. The shift register shifts the PCM data a single bit right to provide an audio signal attenuation.
According to another aspect of the invention, a PCM data adder is coupled between the PCM data input register and the shift register and to the audio magnitude controller configured to add the least significant bits (LSB""s) of the PCM data to provide the modified PCM data in a bit-serial fashion. The PCM data adder includes logic configured to selectively sum different bit positions of the PCM data in response to the audio magnitude controller. The PCM data adder includes a plurality of serial adders to sum the LSB""s of the PCM data. Adding different combinations of various bit shifted versions of the same PCM input data generates different logarithmic weightings for the PCM data to afford additional translation flexibility.
Thus, an apparatus and method for controlling audio signals are provided whereby bit shifting PCM data provides logarithmic modulation of the audio signals for scaling the logarithmic modulation value to a linear amplitude control value.